.toc {
  overflow-y: auto;
}

.toc > .toc-list {
  overflow: hidden;
  position: relative;
}

.toc > .toc-list li {
  list-style: none;
}

.toc-list-container > .toc-list .toc-list {
  $w: 2px;
  padding-left: 0;
  position: relative;
  margin-left: 10px;
  &:before {
    position: absolute;
    display: block;
    content: ' ';
    bottom: 12px;
    top: 12px;
    width: 2px;
    left: -$w/2;
    background: #e5e5e5;
  }

  a.toc-link {
    $w: 8px;
    position: relative;
    display: block;
    color: $spring-dark-color;
    text-decoration: none;
    font-size: $spring-font-size-sm;
    line-height: 1.2rem;
    padding: ($spring-8points / 2) 0;
    padding-left: 20px;

    &:before {
      position: absolute;
      display: block;
      content: ' ';
      width: $w;
      height: $w;
      left: -$w/2;
      top: 10px;
      background: #e5e5e5;
      border-radius: $w/2;
    }
    &:hover {
      color: $spring-color;
    }
  }

  a.is-active-link {
    $w: 10px;
    color: $spring-primary-color;
    &:hover {
      color: $spring-primary-color;
    }

    &:before {
      position: absolute;
      display: block;
      content: ' ';
      width: $w;
      height: $w;
      left: -$w/2;
      top: 10px;
      background: $spring-primary-color;
      border-radius: $w/2;
    }
  }
}

.toc-list {
  margin: 0;
  padding-left: 0px;
}

a.toc-link {
  $w: 8px;
  position: relative;
  display: block;
  color: $spring-dark-color;
  text-decoration: none;
  font-size: $spring-font-size-sm;
  line-height: 1.2rem;
  padding: ($spring-8points / 2) 0;
  transition: all 200ms ease-in-out;
  &:hover {
    color: $spring-color;
  }
}

.toc-list .toc-list {
  a.toc-link {
    padding-left: 30px;
  }
}

.is-collapsible {
  //max-height: 1000px;
  //overflow: hidden;
  //transition: all 300ms ease-in-out
}

.is-collapsed {
  //max-height: 0
}

a.is-active-link {
  color: $spring-primary-color;
  &:hover {
    color: $spring-primary-color;
  }
}
